A Serial ATA port multiplier is a device that allows one to connect multiple SATA devices to a single SATA host port in a similar manner to that of a USB hub. Many common controllers do not support this feature[1], as it is not a requirement for a SATA controller[2].
Contents |
Port multipliers have the following potential benefits:
A Serial ATA port multiplier is a unidirectional splitting device. While it allows one equipped port to connect up to 15 disks, the bandwidth available is limited to the bandwidth of the link to the controller, currently 1.5 or 3 or 6 Gbit/s.[3] While the controller is aware that there are multiple drives connected, the service is transparent to the disks attached. Because they believe they are communicating directly with the controller, any drive that holds to the SATA standard can be connected to a port multiplier. There are two ways port multipliers can be driven:
This system is similar to a mechanical A/B switch or Ethernet hub. The controller can issue commands to only one disk at a time and cannot issue commands to another disk until the command queue has been completed for the current transactions. This also hampers the use of Native Command Queuing (NCQ). This means that the full bandwidth of the link will most likely not be used. This kind of switching is therefore used when capacity is the major concern, and not performance.
FIS–based switching is similar to a USB hub. In this method of switching the host controller can issue commands to send and receive data from any drive at any time. A balancing algorithm ensures a fair allocation of available bandwidth to each drive. FIS-based switching allows the aggregated saturation of the host link and does not interfere with NCQ.
It is possible to connect 15 devices to a single SATA host port using a port multiplier, however the bandwidth is still limited to the bandwidth of a single sata port.